
from bs4 import BeautifulSoup #导入BeautifulSoup库
import requests #导入requests库，用来读取在线网页数据的
### ex03：提取途家（https://www.tujia.com/） 的酒店信息（单页面），这里以日本福冈酒店公寓为例
##  网址：https://international.tujia.com/fugang_gongyu_r169/?code=pchwzt-mdd#prevId=ae34ceb6-3880-4e7d-a74b-7f8c8a0763db
##  时间：2017年10月12日
##  难点:引入requests库，注意BeautifulSoup对nth-child的表达方式不认可，要改成nth-of-type，定位越准确越好
url = "https://international.tujia.com/fugang_gongyu_r169/?code=pchwzt-mdd#prevId=ae34ceb6-3880-4e7d-a74b-7f8c8a0763db" #要爬取网站的网址
webdata = requests.get(url) #通过get方法获取网页数据，类似本地网页数据的读取 with open

soup = BeautifulSoup(webdata.text, 'lxml') #通过BeautifulSoup对网页数据解析

names = soup.select("h2.name-box > a") #获取房间名称
types = soup.select("div.info-box > span:nth-of-type(1)") #获取房间类别
areas = soup.select("div.info-box > span:nth-of-type(3)") #获取面积
prices = soup.select("b.price-value") #获取价格
images = soup.select("a.pic-box > img") #获取图片

for name,type,area,price,image in zip(names,types,areas, prices,images):
    data = {
        "房名":name.get_text(),
        "类别":type.get_text(),
        "面积":area.get_text(),
        "价格":price.get_text()+" 元",
        "图片":image.get('src'),
        "详情":name.get('href')  #name里的href可以链接到详情页面
    }
    print(data)
